/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

密钥管理服务
基于硬件保护密钥的安全数据托管服务

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef KmsExecutor_h
#define KmsExecutor_h
#import <JDCloudOCSDKKms/KmsClient.h>

///  获取非对称密钥的公钥
@interface KmsGetPublicKeyExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  获取密钥列表
@interface KmsDescribeKeyListExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  修改机密指定版本配置
@interface KmsUpdateSecretVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  从KMS中获取一对数据密钥的明文/密文
@interface KmsGenerateDataKeyExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  创建机密
@interface KmsCreateSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  启用指定版本密钥
@interface KmsEnableKeyVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  使用密钥对数据进行加密，针对非对称密钥：使用公钥进行加密，仅支持RSA_PKCS1_PADDING填充方式，最大加密数据长度为245字节
@interface KmsEncryptExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  启用当前状态为&#x60;已禁用&#x60;的密钥
@interface KmsEnableKeyExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  取消删除密钥
@interface KmsCancelKeyDeletionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  删除机密
@interface KmsDeleteSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  禁用机密
@interface KmsDisableSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  禁用指定版本机密
@interface KmsDisableSecretVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  创建一个CMK（用户主密钥），默认为启用状态
@interface KmsCreateKeyExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  -   修改对称密钥配置，包括key的名称、用途、是否自动轮换和轮换周期等;
   /// -   修改非对称密钥配置，包括key的名称、用途等。
   /// 
@interface KmsUpdateKeyDescriptionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  使用非对称密钥的私钥签名,签名算法仅支持RSA_PKCS1_PADDING填充方式,最大签名数据长度为4K字节
@interface KmsSignExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  获取机密详情
@interface KmsDescribeSecretVersionListExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  导出机密
@interface KmsExportSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  使用非对称密钥的公钥验证签名
@interface KmsValidateExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  删除指定版本机密
@interface KmsDeleteSecretVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  获取密钥详情
@interface KmsDescribeKeyExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  导入机密
@interface KmsImportSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  计划在以后的是个时间点删除密钥，默认为7天
@interface KmsScheduleKeyDeletionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  立即轮换密钥，自动轮换周期顺延-支持对称密钥
@interface KmsKeyRotationExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  获取机密列表
@interface KmsDescribeSecretListExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  获取指定机密版本的详细信息
@interface KmsDescribeSecretVersionInfoExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  禁用指定版本密钥
@interface KmsDisableKeyVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  使用密钥对数据进行解密，针对非对称密钥：使用私钥进行加密
@interface KmsDecryptExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  启用机密
@interface KmsEnableSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  禁用当前状态为&#x60;已启用&#x60;的密钥
@interface KmsDisableKeyExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  启用指定版本机密
@interface KmsEnableSecretVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  计划在以后的是个时间点删除指定版本密钥，默认为7天
@interface KmsScheduleKeyVersionDeletionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  创建机密新的版本，默认为已启用状态
@interface KmsCreateSecretVersionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  获取版本详情
@interface KmsDescribeKeyDetailExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  修改机密描述
@interface KmsUpdateSecretExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
///  取消删除指定版本密钥
@interface KmsCancelKeyVersionDeletionExecutor : JDCloudExecutor

-(id) initWithJDCloudClient:(KmsClient*)JDCloudClient;
@end
#endif /* KmsExecutor_h */
